using System.Collections.Generic;

concept C1[T] {}

concept C2[T, S, U] 
{
    type A1;
    type A2;
}

concept C3[T, S, U, V] {}